package com.yunxin.core.customer.dto;

import com.yunxin.common.base.BasePageRequest;
import com.yunxin.common.base.RangeSearch;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Schema(description = "分页查询客户列表对象")
public class CustomerCommonPageDto extends BasePageRequest implements Serializable {
    @Schema(description = "客户手机号")
    private String phone;

    @Schema(description = "客户姓名")
    private String name;

    @Schema(description = "申请时间开始时间")
    private String startApplyTime;

    @Schema(description = "申请时间结束时间")
    private String endApplyTime;

    @Schema(description = "话务员分配时间开始时间")
    private String startTelephonerTime;

    @Schema(description = "话务员分配时间结束时间")
    private String endTelephonerTime;

    @Schema(description = "开始时间公海池")
    private String startSeasDate;

    @Schema(description = "结束时间公海池")
    private String endSeasDate;

    @Schema(description = "申请编号")
    private String applyOrderNo;

    @Schema(description = "boke订单号")
    private String bokeOrderNo;

    @Schema(description = "boke订单状态")
    private Integer bokeOrderStatus;

    @Schema(description = "产品id")
    private Integer productId;

    @Schema(description = "团队id")
    private Integer teamId;

    @Schema(description = "团队name")
    private Integer teamName;

    @Schema(description = "业务员id")
    private Long salesmanId;

    @Schema(description = "业务员外呼进度 0未外呼 1已外呼")
    private Integer salesmanStatus;

    @Schema(description = "话务员id")
    private Long telephonerId;

    @Schema(description = "客户开始流失时间")
    private String startRunTime;

    @Schema(description = "客户结束流失时间")
    private String endRunTime;

    @Schema(description = "业务员添加状态 0未添加 1已添加")
    private Integer isWechat;

    @Schema(description = "跟进状态 0未跟进 1已跟进")
    private Integer followStatus;

    @Schema(description = "性别 1.男 2.女")
    private Integer sex;

    @Schema(description = "流失原因")
    private String cause;

    @Schema(description = "流失客户来源")
    private String runSource;

    @Schema(description = "筛选标签")
    private List<Long> tagInfoIds;

    @Schema(description = "客户分数")
    private Integer grades;

    @Schema(description = "话务员跟进进度 0未跟进 -1未接通 1已接通")
    private Integer telephonerStatus;

    @Schema(description = "客户意向 0未知 -1无意向 1有意向")
    private Integer customerIntention;

    @Schema(description = "开始微信添加时间")
    private Long startWechatCreatetime;

    @Schema(description = "结束微信添加时间")
    private Long endWechatCreatetime;


    @Schema(description = "客户状态 0未处理 1已处理")
    private Integer status;

    @Schema(description = "企微客户来源")
    private String wechatSource;


    @Schema(description = "企微客户来源")
    private String source;

    @Schema(description = "流失状态 1.流失 2.未流失")
    private Integer runStatus;

    @Schema(hidden = true)
    private Long merchantId;

    @Schema(description = "团队id集合")
    private List<Integer> teamIds;

    @Schema(description = "分配状态 0未分配 1已分配团队 2已分配业务员 3已分配话务员")
    private Integer allocationStatus;


    @Schema(description = "1话务",hidden = true)
    private Integer userType;

    @Schema(description = "1公海池 0非公海池",hidden = true)
    private Integer seasType;

}
